package com.jmp.api.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author cjr
 */
@Data
@Builder
public class UserInfoResponse {
    @ApiModelProperty("用户ID")
    private Integer userId;
    @ApiModelProperty("用户头像")
    private String userImg;
    @ApiModelProperty("用户名称（优先显示名片名称）")
    private String userName;
    @ApiModelProperty("用户名称")
    private String name;

    @ApiModelProperty("我的商品" +
            "编辑和发布(APP_GOODS_SAVE)" +
            "分类管理(APP_GOODS_TYPE)" +
            "企业管理" +
            "企业信息(APP_COMPANY_INFO)" +
            "官网管理(APP_COMPANY_WEBSITE)" +
            "员工管理(APP_CARD)" +
            "门店二维码(APP_COMPANY_CARD)" +
            "发布管理" +
            "我的直播(APP_LIVE)")
    private List<String> auths;

    @ApiModelProperty("购物车数量")
    private Integer shopCartNum;
    @ApiModelProperty("关注数量")
    @Deprecated
    private Integer followNum;
    @ApiModelProperty("关注数量（新，关注用户）")
    private Integer followUserNum;
    @ApiModelProperty("收藏数量")
    private Integer collectNum;
    @ApiModelProperty("评论数量")
    private Integer commentNum;

    @ApiModelProperty("订单待付款数量")
    private Integer orderPayNum;
    @ApiModelProperty("订单待付款数量")
    private Integer orderSendNum;
    @ApiModelProperty("订单待收货数量")
    private Integer orderReceiveNum;
    @ApiModelProperty("订单已完成数量")
    private Integer orderCompleteNum;
    @ApiModelProperty("订单退货售后数量")
    private Integer orderRefundNum;

    @ApiModelProperty(value = "轮播图", dataType = "UserInfoResponse.Banner")
    private List<Banner> bannerList;

    @Data
    @Builder
    @ApiModel("UserInfoResponse.Banner")
    public static class Banner {
        @ApiModelProperty("ID")
        private Integer bannerId;
        @ApiModelProperty("图片地址")
        private String source;
        @ApiModelProperty("点击事件：0 无 1 商品详情 2h5 3企业 4商品列表 5专题页 6奖券入口")
        private Integer event;
        @ApiModelProperty("点击事件参数")
        private String eventId;
        @ApiModelProperty("描述")
        private String memo;
        @ApiModelProperty("宽高比: 宽/高")
        private BigDecimal sizeRate;
    }
}
